package concurso.logica.Pruebas;

import concurso.logica.Evaluacion;
import concurso.logica.Evaluaciones;
import concurso.logica.Participantes;
import concurso.logica.ParticipanteExtranjero;
import concurso.logica.ParticipanteNacional;
import concurso.logica.excepciones.ParticipanteException;

import java.io.*;
import java.util.ArrayList;
import java.util.TreeMap;

public class PruebaParticipantes {

		public static void main (String [] args) throws NumberFormatException, IOException, ParticipanteException{
		
			int opcion=100;
			//defino variables para lectura por teclado
			InputStreamReader isr = new InputStreamReader(System.in);
	        BufferedReader br = new BufferedReader (isr);
			
	        //creao un diccionario de Participantes
	        Participantes par = Participantes.getParticipantes();  
	        
	        //Creo Evaluaciones
			Evaluaciones eva = new Evaluaciones();
			
	        //Creo un Extranjero
			ParticipanteExtranjero parExt = new ParticipanteExtranjero("Pepe", "Martini Bianco",18, "Baila", "china", 5) {
				private static final long serialVersionUID = 1L;
			};
			ParticipanteExtranjero parExt2 = new ParticipanteExtranjero("Ana", "ana maria",18, "Baila", "china", 5) {
				private static final long serialVersionUID = 1L;
			};
			ParticipanteExtranjero parExt3 = new ParticipanteExtranjero("Fede", "Fedrico Font",18, "Baila", "china", 5) {
				private static final long serialVersionUID = 1L;
			};
			//Creo un Nacional1
			ParticipanteNacional parNac = new ParticipanteNacional("Nacional", "Don Pascual",98, "Break Dance", "Rocha", "Aguas Dulces") {
				private static final long serialVersionUID = 1L;
			};
			
		//**** MENU ****		
			System.out.println("*** Manu Participantes ***");
			System.out.println("Opcion 1: Insertar participante en Arbol");
			System.out.println("Opcion 2: El arbol esta vacio?");
			System.out.println("Opcion 3: Buscar si existe participante en el arbol");
			System.out.println("Opcion 4: Limpiar Arbol");
			System.out.println("Opcion 5: Borrar Participante del Arbol");
			System.out.println("Opcion 6: Listar Participantes");
			//System.out.println("Opcion 7: Prueba multi hilos");
			System.out.println("Ingrese una opcion:");
			while (opcion !=0) {
			opcion = Integer.parseInt(br.readLine());

			switch (opcion) {
			case 1: //Insertar Extranjero en Arbol	
				if (par.member("Pepe"))
					System.out.println("el participante ya existe");
				else {
					par.insert(parExt);
					par.insert(parNac);
					par.insert(parExt2);
					System.out.println("Se cargo el participante");
					}
				break;
			case 2: //El arbol esta vacio?
				//arbolP.estaVacio();
				if (par.estaVacio())
					System.out.println("Esta vacio");
				else
					System.out.println("NO Esta vacio");
				break;
			case 3: //Buscar si existe Participante en el arbol
				System.out.println(par.member("Pepe"));
				System.out.println(par.member("Nacional"));
				break;
			case 4: //Limpiar Arbol
				par.limpiarArbol();
				System.out.println("El Arbol fue borrado");
				break;
			case 5: //Borrar Participante del Arbol
				if (par.member("Pepe")==false)
					System.out.println("El Participante no existe");
				else
					{par.delete("Pepe");
				 	 System.out.println("el Participante fue borrado");
					}
				break;
			case 6: //Listar datos de Participantes
				par.listarParticipantesTMP();
				break;
			/*case 7: //Borrar Participante del Arbol
				Participantes par2 = Participantes.getParticipantes();
				Thread thr = new Thread(par2); //creo una instancia para cada hilo
				Thread thr2 = new Thread(par2);
				
				thr.start();//Metodo start que se usa para dejar los hilos prontos para que la JVM empiece a conmutar entre ellos
				thr2.start();
			break;*/
			}					
		}	
		}
		
}

